//==============================================================================
// Copyright (c) 2010-2020 Advanced Micro Devices, Inc. All rights reserved.
/// \author AMD Developer Tools Team
/// \file
/// \brief  DX12 counter definitions for GFX8
//==============================================================================

#include "gpa_counter.h"
#include "gpa_hw_counter_gfx8.h"
#include "gpa_hw_exposed_counters_gfx8.h"
#include "gpa_hw_counter_dx12_gfx8.h"

// This file is autogenerated by the ConvertHWEnums project

namespace countergfx8
{
    GPA_HardwareCounterDesc* dx12_counter_group_array_gfx8[] = {
        cpf_counters_gfx8,
        ia0_counters_gfx8,
        ia1_counters_gfx8,
        vgt0_counters_gfx8,
        vgt1_counters_gfx8,
        vgt2_counters_gfx8,
        vgt3_counters_gfx8,
        pa_su0_counters_gfx8,
        pa_su1_counters_gfx8,
        pa_su2_counters_gfx8,
        pa_su3_counters_gfx8,
        pa_sc0_counters_gfx8,
        pa_sc1_counters_gfx8,
        pa_sc2_counters_gfx8,
        pa_sc3_counters_gfx8,
        spi0_counters_gfx8,
        spi1_counters_gfx8,
        spi2_counters_gfx8,
        spi3_counters_gfx8,
        sq0_counters_gfx8,
        sq1_counters_gfx8,
        sq2_counters_gfx8,
        sq3_counters_gfx8,
        sq_es0_counters_gfx8,
        sq_es1_counters_gfx8,
        sq_es2_counters_gfx8,
        sq_es3_counters_gfx8,
        sq_gs0_counters_gfx8,
        sq_gs1_counters_gfx8,
        sq_gs2_counters_gfx8,
        sq_gs3_counters_gfx8,
        sq_vs0_counters_gfx8,
        sq_vs1_counters_gfx8,
        sq_vs2_counters_gfx8,
        sq_vs3_counters_gfx8,
        sq_ps0_counters_gfx8,
        sq_ps1_counters_gfx8,
        sq_ps2_counters_gfx8,
        sq_ps3_counters_gfx8,
        sq_ls0_counters_gfx8,
        sq_ls1_counters_gfx8,
        sq_ls2_counters_gfx8,
        sq_ls3_counters_gfx8,
        sq_hs0_counters_gfx8,
        sq_hs1_counters_gfx8,
        sq_hs2_counters_gfx8,
        sq_hs3_counters_gfx8,
        sq_cs0_counters_gfx8,
        sq_cs1_counters_gfx8,
        sq_cs2_counters_gfx8,
        sq_cs3_counters_gfx8,
        sx0_counters_gfx8,
        sx1_counters_gfx8,
        sx2_counters_gfx8,
        sx3_counters_gfx8,
        ta0_counters_gfx8,
        ta1_counters_gfx8,
        ta2_counters_gfx8,
        ta3_counters_gfx8,
        ta4_counters_gfx8,
        ta5_counters_gfx8,
        ta6_counters_gfx8,
        ta7_counters_gfx8,
        ta8_counters_gfx8,
        ta9_counters_gfx8,
        ta10_counters_gfx8,
        ta11_counters_gfx8,
        ta12_counters_gfx8,
        ta13_counters_gfx8,
        ta14_counters_gfx8,
        ta15_counters_gfx8,
        ta16_counters_gfx8,
        ta17_counters_gfx8,
        ta18_counters_gfx8,
        ta19_counters_gfx8,
        ta20_counters_gfx8,
        ta21_counters_gfx8,
        ta22_counters_gfx8,
        ta23_counters_gfx8,
        ta24_counters_gfx8,
        ta25_counters_gfx8,
        ta26_counters_gfx8,
        ta27_counters_gfx8,
        ta28_counters_gfx8,
        ta29_counters_gfx8,
        ta30_counters_gfx8,
        ta31_counters_gfx8,
        ta32_counters_gfx8,
        ta33_counters_gfx8,
        ta34_counters_gfx8,
        ta35_counters_gfx8,
        ta36_counters_gfx8,
        ta37_counters_gfx8,
        ta38_counters_gfx8,
        ta39_counters_gfx8,
        ta40_counters_gfx8,
        ta41_counters_gfx8,
        ta42_counters_gfx8,
        ta43_counters_gfx8,
        ta44_counters_gfx8,
        ta45_counters_gfx8,
        ta46_counters_gfx8,
        ta47_counters_gfx8,
        ta48_counters_gfx8,
        ta49_counters_gfx8,
        ta50_counters_gfx8,
        ta51_counters_gfx8,
        ta52_counters_gfx8,
        ta53_counters_gfx8,
        ta54_counters_gfx8,
        ta55_counters_gfx8,
        ta56_counters_gfx8,
        ta57_counters_gfx8,
        ta58_counters_gfx8,
        ta59_counters_gfx8,
        ta60_counters_gfx8,
        ta61_counters_gfx8,
        ta62_counters_gfx8,
        ta63_counters_gfx8,
        td0_counters_gfx8,
        td1_counters_gfx8,
        td2_counters_gfx8,
        td3_counters_gfx8,
        td4_counters_gfx8,
        td5_counters_gfx8,
        td6_counters_gfx8,
        td7_counters_gfx8,
        td8_counters_gfx8,
        td9_counters_gfx8,
        td10_counters_gfx8,
        td11_counters_gfx8,
        td12_counters_gfx8,
        td13_counters_gfx8,
        td14_counters_gfx8,
        td15_counters_gfx8,
        td16_counters_gfx8,
        td17_counters_gfx8,
        td18_counters_gfx8,
        td19_counters_gfx8,
        td20_counters_gfx8,
        td21_counters_gfx8,
        td22_counters_gfx8,
        td23_counters_gfx8,
        td24_counters_gfx8,
        td25_counters_gfx8,
        td26_counters_gfx8,
        td27_counters_gfx8,
        td28_counters_gfx8,
        td29_counters_gfx8,
        td30_counters_gfx8,
        td31_counters_gfx8,
        td32_counters_gfx8,
        td33_counters_gfx8,
        td34_counters_gfx8,
        td35_counters_gfx8,
        td36_counters_gfx8,
        td37_counters_gfx8,
        td38_counters_gfx8,
        td39_counters_gfx8,
        td40_counters_gfx8,
        td41_counters_gfx8,
        td42_counters_gfx8,
        td43_counters_gfx8,
        td44_counters_gfx8,
        td45_counters_gfx8,
        td46_counters_gfx8,
        td47_counters_gfx8,
        td48_counters_gfx8,
        td49_counters_gfx8,
        td50_counters_gfx8,
        td51_counters_gfx8,
        td52_counters_gfx8,
        td53_counters_gfx8,
        td54_counters_gfx8,
        td55_counters_gfx8,
        td56_counters_gfx8,
        td57_counters_gfx8,
        td58_counters_gfx8,
        td59_counters_gfx8,
        td60_counters_gfx8,
        td61_counters_gfx8,
        td62_counters_gfx8,
        td63_counters_gfx8,
        tcp0_counters_gfx8,
        tcp1_counters_gfx8,
        tcp2_counters_gfx8,
        tcp3_counters_gfx8,
        tcp4_counters_gfx8,
        tcp5_counters_gfx8,
        tcp6_counters_gfx8,
        tcp7_counters_gfx8,
        tcp8_counters_gfx8,
        tcp9_counters_gfx8,
        tcp10_counters_gfx8,
        tcp11_counters_gfx8,
        tcp12_counters_gfx8,
        tcp13_counters_gfx8,
        tcp14_counters_gfx8,
        tcp15_counters_gfx8,
        tcp16_counters_gfx8,
        tcp17_counters_gfx8,
        tcp18_counters_gfx8,
        tcp19_counters_gfx8,
        tcp20_counters_gfx8,
        tcp21_counters_gfx8,
        tcp22_counters_gfx8,
        tcp23_counters_gfx8,
        tcp24_counters_gfx8,
        tcp25_counters_gfx8,
        tcp26_counters_gfx8,
        tcp27_counters_gfx8,
        tcp28_counters_gfx8,
        tcp29_counters_gfx8,
        tcp30_counters_gfx8,
        tcp31_counters_gfx8,
        tcp32_counters_gfx8,
        tcp33_counters_gfx8,
        tcp34_counters_gfx8,
        tcp35_counters_gfx8,
        tcp36_counters_gfx8,
        tcp37_counters_gfx8,
        tcp38_counters_gfx8,
        tcp39_counters_gfx8,
        tcp40_counters_gfx8,
        tcp41_counters_gfx8,
        tcp42_counters_gfx8,
        tcp43_counters_gfx8,
        tcp44_counters_gfx8,
        tcp45_counters_gfx8,
        tcp46_counters_gfx8,
        tcp47_counters_gfx8,
        tcp48_counters_gfx8,
        tcp49_counters_gfx8,
        tcp50_counters_gfx8,
        tcp51_counters_gfx8,
        tcp52_counters_gfx8,
        tcp53_counters_gfx8,
        tcp54_counters_gfx8,
        tcp55_counters_gfx8,
        tcp56_counters_gfx8,
        tcp57_counters_gfx8,
        tcp58_counters_gfx8,
        tcp59_counters_gfx8,
        tcp60_counters_gfx8,
        tcp61_counters_gfx8,
        tcp62_counters_gfx8,
        tcp63_counters_gfx8,
        tcc0_counters_gfx8,
        tcc1_counters_gfx8,
        tcc2_counters_gfx8,
        tcc3_counters_gfx8,
        tcc4_counters_gfx8,
        tcc5_counters_gfx8,
        tcc6_counters_gfx8,
        tcc7_counters_gfx8,
        tcc8_counters_gfx8,
        tcc9_counters_gfx8,
        tcc10_counters_gfx8,
        tcc11_counters_gfx8,
        tcc12_counters_gfx8,
        tcc13_counters_gfx8,
        tcc14_counters_gfx8,
        tcc15_counters_gfx8,
        tca0_counters_gfx8,
        tca1_counters_gfx8,
        db0_counters_gfx8,
        db1_counters_gfx8,
        db2_counters_gfx8,
        db3_counters_gfx8,
        db4_counters_gfx8,
        db5_counters_gfx8,
        db6_counters_gfx8,
        db7_counters_gfx8,
        db8_counters_gfx8,
        db9_counters_gfx8,
        db10_counters_gfx8,
        db11_counters_gfx8,
        db12_counters_gfx8,
        db13_counters_gfx8,
        db14_counters_gfx8,
        db15_counters_gfx8,
        cb0_counters_gfx8,
        cb1_counters_gfx8,
        cb2_counters_gfx8,
        cb3_counters_gfx8,
        cb4_counters_gfx8,
        cb5_counters_gfx8,
        cb6_counters_gfx8,
        cb7_counters_gfx8,
        cb8_counters_gfx8,
        cb9_counters_gfx8,
        cb10_counters_gfx8,
        cb11_counters_gfx8,
        cb12_counters_gfx8,
        cb13_counters_gfx8,
        cb14_counters_gfx8,
        cb15_counters_gfx8,
        gds_counters_gfx8,
        srbm_counters_gfx8,
        grbm_counters_gfx8,
        grbmse0_counters_gfx8,
        grbmse1_counters_gfx8,
        grbmse2_counters_gfx8,
        grbmse3_counters_gfx8,
        rlc_counters_gfx8,
        sdma0_counters_gfx8,
        sdma1_counters_gfx8,
        mc0_counters_gfx8,
        mc1_counters_gfx8,
        mc2_counters_gfx8,
        mc3_counters_gfx8,
        mc4_counters_gfx8,
        mc5_counters_gfx8,
        mc6_counters_gfx8,
        mc7_counters_gfx8,
        mc8_counters_gfx8,
        mc9_counters_gfx8,
        mc10_counters_gfx8,
        mc11_counters_gfx8,
        mc12_counters_gfx8,
        mc13_counters_gfx8,
        mc14_counters_gfx8,
        mc15_counters_gfx8,
        mc16_counters_gfx8,
        mc17_counters_gfx8,
        mc18_counters_gfx8,
        mc19_counters_gfx8,
        mc20_counters_gfx8,
        mc21_counters_gfx8,
        mc22_counters_gfx8,
        mc23_counters_gfx8,
        mc24_counters_gfx8,
        mc25_counters_gfx8,
        mc26_counters_gfx8,
        mc27_counters_gfx8,
        mc28_counters_gfx8,
        mc29_counters_gfx8,
        mc30_counters_gfx8,
        mc31_counters_gfx8,
        cpg_counters_gfx8,
        cpc_counters_gfx8,
        wd_counters_gfx8,
        gputime_counters_gfx8,
    };

    GPA_HardwareCounterDesc* dx12_exposed_counters_group_array_gfx8[] = {
        vgt0_exposed_counters_gfx8,
        vgt1_exposed_counters_gfx8,
        vgt2_exposed_counters_gfx8,
        vgt3_exposed_counters_gfx8,
        pa_su0_exposed_counters_gfx8,
        pa_su1_exposed_counters_gfx8,
        pa_su2_exposed_counters_gfx8,
        pa_su3_exposed_counters_gfx8,
        pa_sc0_exposed_counters_gfx8,
        pa_sc1_exposed_counters_gfx8,
        pa_sc2_exposed_counters_gfx8,
        pa_sc3_exposed_counters_gfx8,
        spi0_exposed_counters_gfx8,
        spi1_exposed_counters_gfx8,
        spi2_exposed_counters_gfx8,
        spi3_exposed_counters_gfx8,
        sq0_exposed_counters_gfx8,
        sq1_exposed_counters_gfx8,
        sq2_exposed_counters_gfx8,
        sq3_exposed_counters_gfx8,
        sq_es0_exposed_counters_gfx8,
        sq_es1_exposed_counters_gfx8,
        sq_es2_exposed_counters_gfx8,
        sq_es3_exposed_counters_gfx8,
        sq_gs0_exposed_counters_gfx8,
        sq_gs1_exposed_counters_gfx8,
        sq_gs2_exposed_counters_gfx8,
        sq_gs3_exposed_counters_gfx8,
        sq_vs0_exposed_counters_gfx8,
        sq_vs1_exposed_counters_gfx8,
        sq_vs2_exposed_counters_gfx8,
        sq_vs3_exposed_counters_gfx8,
        sq_ps0_exposed_counters_gfx8,
        sq_ps1_exposed_counters_gfx8,
        sq_ps2_exposed_counters_gfx8,
        sq_ps3_exposed_counters_gfx8,
        sq_ls0_exposed_counters_gfx8,
        sq_ls1_exposed_counters_gfx8,
        sq_ls2_exposed_counters_gfx8,
        sq_ls3_exposed_counters_gfx8,
        sq_hs0_exposed_counters_gfx8,
        sq_hs1_exposed_counters_gfx8,
        sq_hs2_exposed_counters_gfx8,
        sq_hs3_exposed_counters_gfx8,
        sq_cs0_exposed_counters_gfx8,
        sq_cs1_exposed_counters_gfx8,
        sq_cs2_exposed_counters_gfx8,
        sq_cs3_exposed_counters_gfx8,
        sx0_exposed_counters_gfx8,
        sx1_exposed_counters_gfx8,
        sx2_exposed_counters_gfx8,
        sx3_exposed_counters_gfx8,
        ta0_exposed_counters_gfx8,
        ta1_exposed_counters_gfx8,
        ta2_exposed_counters_gfx8,
        ta3_exposed_counters_gfx8,
        ta4_exposed_counters_gfx8,
        ta5_exposed_counters_gfx8,
        ta6_exposed_counters_gfx8,
        ta7_exposed_counters_gfx8,
        ta8_exposed_counters_gfx8,
        ta9_exposed_counters_gfx8,
        ta10_exposed_counters_gfx8,
        ta11_exposed_counters_gfx8,
        ta12_exposed_counters_gfx8,
        ta13_exposed_counters_gfx8,
        ta14_exposed_counters_gfx8,
        ta15_exposed_counters_gfx8,
        ta16_exposed_counters_gfx8,
        ta17_exposed_counters_gfx8,
        ta18_exposed_counters_gfx8,
        ta19_exposed_counters_gfx8,
        ta20_exposed_counters_gfx8,
        ta21_exposed_counters_gfx8,
        ta22_exposed_counters_gfx8,
        ta23_exposed_counters_gfx8,
        ta24_exposed_counters_gfx8,
        ta25_exposed_counters_gfx8,
        ta26_exposed_counters_gfx8,
        ta27_exposed_counters_gfx8,
        ta28_exposed_counters_gfx8,
        ta29_exposed_counters_gfx8,
        ta30_exposed_counters_gfx8,
        ta31_exposed_counters_gfx8,
        ta32_exposed_counters_gfx8,
        ta33_exposed_counters_gfx8,
        ta34_exposed_counters_gfx8,
        ta35_exposed_counters_gfx8,
        ta36_exposed_counters_gfx8,
        ta37_exposed_counters_gfx8,
        ta38_exposed_counters_gfx8,
        ta39_exposed_counters_gfx8,
        ta40_exposed_counters_gfx8,
        ta41_exposed_counters_gfx8,
        ta42_exposed_counters_gfx8,
        ta43_exposed_counters_gfx8,
        ta44_exposed_counters_gfx8,
        ta45_exposed_counters_gfx8,
        ta46_exposed_counters_gfx8,
        ta47_exposed_counters_gfx8,
        ta48_exposed_counters_gfx8,
        ta49_exposed_counters_gfx8,
        ta50_exposed_counters_gfx8,
        ta51_exposed_counters_gfx8,
        ta52_exposed_counters_gfx8,
        ta53_exposed_counters_gfx8,
        ta54_exposed_counters_gfx8,
        ta55_exposed_counters_gfx8,
        ta56_exposed_counters_gfx8,
        ta57_exposed_counters_gfx8,
        ta58_exposed_counters_gfx8,
        ta59_exposed_counters_gfx8,
        ta60_exposed_counters_gfx8,
        ta61_exposed_counters_gfx8,
        ta62_exposed_counters_gfx8,
        ta63_exposed_counters_gfx8,
        tcp0_exposed_counters_gfx8,
        tcp1_exposed_counters_gfx8,
        tcp2_exposed_counters_gfx8,
        tcp3_exposed_counters_gfx8,
        tcp4_exposed_counters_gfx8,
        tcp5_exposed_counters_gfx8,
        tcp6_exposed_counters_gfx8,
        tcp7_exposed_counters_gfx8,
        tcp8_exposed_counters_gfx8,
        tcp9_exposed_counters_gfx8,
        tcp10_exposed_counters_gfx8,
        tcp11_exposed_counters_gfx8,
        tcp12_exposed_counters_gfx8,
        tcp13_exposed_counters_gfx8,
        tcp14_exposed_counters_gfx8,
        tcp15_exposed_counters_gfx8,
        tcp16_exposed_counters_gfx8,
        tcp17_exposed_counters_gfx8,
        tcp18_exposed_counters_gfx8,
        tcp19_exposed_counters_gfx8,
        tcp20_exposed_counters_gfx8,
        tcp21_exposed_counters_gfx8,
        tcp22_exposed_counters_gfx8,
        tcp23_exposed_counters_gfx8,
        tcp24_exposed_counters_gfx8,
        tcp25_exposed_counters_gfx8,
        tcp26_exposed_counters_gfx8,
        tcp27_exposed_counters_gfx8,
        tcp28_exposed_counters_gfx8,
        tcp29_exposed_counters_gfx8,
        tcp30_exposed_counters_gfx8,
        tcp31_exposed_counters_gfx8,
        tcp32_exposed_counters_gfx8,
        tcp33_exposed_counters_gfx8,
        tcp34_exposed_counters_gfx8,
        tcp35_exposed_counters_gfx8,
        tcp36_exposed_counters_gfx8,
        tcp37_exposed_counters_gfx8,
        tcp38_exposed_counters_gfx8,
        tcp39_exposed_counters_gfx8,
        tcp40_exposed_counters_gfx8,
        tcp41_exposed_counters_gfx8,
        tcp42_exposed_counters_gfx8,
        tcp43_exposed_counters_gfx8,
        tcp44_exposed_counters_gfx8,
        tcp45_exposed_counters_gfx8,
        tcp46_exposed_counters_gfx8,
        tcp47_exposed_counters_gfx8,
        tcp48_exposed_counters_gfx8,
        tcp49_exposed_counters_gfx8,
        tcp50_exposed_counters_gfx8,
        tcp51_exposed_counters_gfx8,
        tcp52_exposed_counters_gfx8,
        tcp53_exposed_counters_gfx8,
        tcp54_exposed_counters_gfx8,
        tcp55_exposed_counters_gfx8,
        tcp56_exposed_counters_gfx8,
        tcp57_exposed_counters_gfx8,
        tcp58_exposed_counters_gfx8,
        tcp59_exposed_counters_gfx8,
        tcp60_exposed_counters_gfx8,
        tcp61_exposed_counters_gfx8,
        tcp62_exposed_counters_gfx8,
        tcp63_exposed_counters_gfx8,
        tcc0_exposed_counters_gfx8,
        tcc1_exposed_counters_gfx8,
        tcc2_exposed_counters_gfx8,
        tcc3_exposed_counters_gfx8,
        tcc4_exposed_counters_gfx8,
        tcc5_exposed_counters_gfx8,
        tcc6_exposed_counters_gfx8,
        tcc7_exposed_counters_gfx8,
        tcc8_exposed_counters_gfx8,
        tcc9_exposed_counters_gfx8,
        tcc10_exposed_counters_gfx8,
        tcc11_exposed_counters_gfx8,
        tcc12_exposed_counters_gfx8,
        tcc13_exposed_counters_gfx8,
        tcc14_exposed_counters_gfx8,
        tcc15_exposed_counters_gfx8,
        db0_exposed_counters_gfx8,
        db1_exposed_counters_gfx8,
        db2_exposed_counters_gfx8,
        db3_exposed_counters_gfx8,
        db4_exposed_counters_gfx8,
        db5_exposed_counters_gfx8,
        db6_exposed_counters_gfx8,
        db7_exposed_counters_gfx8,
        db8_exposed_counters_gfx8,
        db9_exposed_counters_gfx8,
        db10_exposed_counters_gfx8,
        db11_exposed_counters_gfx8,
        db12_exposed_counters_gfx8,
        db13_exposed_counters_gfx8,
        db14_exposed_counters_gfx8,
        db15_exposed_counters_gfx8,
        cb0_exposed_counters_gfx8,
        cb1_exposed_counters_gfx8,
        cb2_exposed_counters_gfx8,
        cb3_exposed_counters_gfx8,
        cb4_exposed_counters_gfx8,
        cb5_exposed_counters_gfx8,
        cb6_exposed_counters_gfx8,
        cb7_exposed_counters_gfx8,
        cb8_exposed_counters_gfx8,
        cb9_exposed_counters_gfx8,
        cb10_exposed_counters_gfx8,
        cb11_exposed_counters_gfx8,
        cb12_exposed_counters_gfx8,
        cb13_exposed_counters_gfx8,
        cb14_exposed_counters_gfx8,
        cb15_exposed_counters_gfx8,
        grbm_exposed_counters_gfx8,
        gputime_exposed_counters_gfx8,
    };

    GPA_CounterGroupDesc hw_dx12_groups_gfx8[] = {
        {0, "CPF", 0, 19, 2, 4},
        {1, "IA0", 0, 24, 4, 4},
        {2, "IA1", 1, 24, 4, 4},
        {3, "VGT0", 0, 147, 4, 6},
        {4, "VGT1", 1, 147, 4, 6},
        {5, "VGT2", 2, 147, 4, 6},
        {6, "VGT3", 3, 147, 4, 6},
        {7, "PA_SU0", 0, 153, 4, 6},
        {8, "PA_SU1", 1, 153, 4, 6},
        {9, "PA_SU2", 2, 153, 4, 6},
        {10, "PA_SU3", 3, 153, 4, 6},
        {11, "PA_SC0", 0, 397, 8, 4},
        {12, "PA_SC1", 1, 397, 8, 4},
        {13, "PA_SC2", 2, 397, 8, 4},
        {14, "PA_SC3", 3, 397, 8, 4},
        {15, "SPI0", 0, 197, 6, 16},
        {16, "SPI1", 1, 197, 6, 16},
        {17, "SPI2", 2, 197, 6, 16},
        {18, "SPI3", 3, 197, 6, 16},
        {19, "SQ0", 0, 299, 16, 16},
        {20, "SQ1", 1, 299, 16, 16},
        {21, "SQ2", 2, 299, 16, 16},
        {22, "SQ3", 3, 299, 16, 16},
        {23, "SQ_ES0", 0, 299, 16, 16},
        {24, "SQ_ES1", 1, 299, 16, 16},
        {25, "SQ_ES2", 2, 299, 16, 16},
        {26, "SQ_ES3", 3, 299, 16, 16},
        {27, "SQ_GS0", 0, 299, 16, 16},
        {28, "SQ_GS1", 1, 299, 16, 16},
        {29, "SQ_GS2", 2, 299, 16, 16},
        {30, "SQ_GS3", 3, 299, 16, 16},
        {31, "SQ_VS0", 0, 299, 16, 16},
        {32, "SQ_VS1", 1, 299, 16, 16},
        {33, "SQ_VS2", 2, 299, 16, 16},
        {34, "SQ_VS3", 3, 299, 16, 16},
        {35, "SQ_PS0", 0, 299, 16, 16},
        {36, "SQ_PS1", 1, 299, 16, 16},
        {37, "SQ_PS2", 2, 299, 16, 16},
        {38, "SQ_PS3", 3, 299, 16, 16},
        {39, "SQ_LS0", 0, 299, 16, 16},
        {40, "SQ_LS1", 1, 299, 16, 16},
        {41, "SQ_LS2", 2, 299, 16, 16},
        {42, "SQ_LS3", 3, 299, 16, 16},
        {43, "SQ_HS0", 0, 299, 16, 16},
        {44, "SQ_HS1", 1, 299, 16, 16},
        {45, "SQ_HS2", 2, 299, 16, 16},
        {46, "SQ_HS3", 3, 299, 16, 16},
        {47, "SQ_CS0", 0, 299, 16, 16},
        {48, "SQ_CS1", 1, 299, 16, 16},
        {49, "SQ_CS2", 2, 299, 16, 16},
        {50, "SQ_CS3", 3, 299, 16, 16},
        {51, "SX0", 0, 34, 4, 8},
        {52, "SX1", 1, 34, 4, 8},
        {53, "SX2", 2, 34, 4, 8},
        {54, "SX3", 3, 34, 4, 8},
        {55, "TA0", 0, 119, 2, 4},
        {56, "TA1", 1, 119, 2, 4},
        {57, "TA2", 2, 119, 2, 4},
        {58, "TA3", 3, 119, 2, 4},
        {59, "TA4", 4, 119, 2, 4},
        {60, "TA5", 5, 119, 2, 4},
        {61, "TA6", 6, 119, 2, 4},
        {62, "TA7", 7, 119, 2, 4},
        {63, "TA8", 8, 119, 2, 4},
        {64, "TA9", 9, 119, 2, 4},
        {65, "TA10", 10, 119, 2, 4},
        {66, "TA11", 11, 119, 2, 4},
        {67, "TA12", 12, 119, 2, 4},
        {68, "TA13", 13, 119, 2, 4},
        {69, "TA14", 14, 119, 2, 4},
        {70, "TA15", 15, 119, 2, 4},
        {71, "TA16", 16, 119, 2, 4},
        {72, "TA17", 17, 119, 2, 4},
        {73, "TA18", 18, 119, 2, 4},
        {74, "TA19", 19, 119, 2, 4},
        {75, "TA20", 20, 119, 2, 4},
        {76, "TA21", 21, 119, 2, 4},
        {77, "TA22", 22, 119, 2, 4},
        {78, "TA23", 23, 119, 2, 4},
        {79, "TA24", 24, 119, 2, 4},
        {80, "TA25", 25, 119, 2, 4},
        {81, "TA26", 26, 119, 2, 4},
        {82, "TA27", 27, 119, 2, 4},
        {83, "TA28", 28, 119, 2, 4},
        {84, "TA29", 29, 119, 2, 4},
        {85, "TA30", 30, 119, 2, 4},
        {86, "TA31", 31, 119, 2, 4},
        {87, "TA32", 32, 119, 2, 4},
        {88, "TA33", 33, 119, 2, 4},
        {89, "TA34", 34, 119, 2, 4},
        {90, "TA35", 35, 119, 2, 4},
        {91, "TA36", 36, 119, 2, 4},
        {92, "TA37", 37, 119, 2, 4},
        {93, "TA38", 38, 119, 2, 4},
        {94, "TA39", 39, 119, 2, 4},
        {95, "TA40", 40, 119, 2, 4},
        {96, "TA41", 41, 119, 2, 4},
        {97, "TA42", 42, 119, 2, 4},
        {98, "TA43", 43, 119, 2, 4},
        {99, "TA44", 44, 119, 2, 4},
        {100, "TA45", 45, 119, 2, 4},
        {101, "TA46", 46, 119, 2, 4},
        {102, "TA47", 47, 119, 2, 4},
        {103, "TA48", 48, 119, 2, 4},
        {104, "TA49", 49, 119, 2, 4},
        {105, "TA50", 50, 119, 2, 4},
        {106, "TA51", 51, 119, 2, 4},
        {107, "TA52", 52, 119, 2, 4},
        {108, "TA53", 53, 119, 2, 4},
        {109, "TA54", 54, 119, 2, 4},
        {110, "TA55", 55, 119, 2, 4},
        {111, "TA56", 56, 119, 2, 4},
        {112, "TA57", 57, 119, 2, 4},
        {113, "TA58", 58, 119, 2, 4},
        {114, "TA59", 59, 119, 2, 4},
        {115, "TA60", 60, 119, 2, 4},
        {116, "TA61", 61, 119, 2, 4},
        {117, "TA62", 62, 119, 2, 4},
        {118, "TA63", 63, 119, 2, 4},
        {119, "TD0", 0, 55, 2, 4},
        {120, "TD1", 1, 55, 2, 4},
        {121, "TD2", 2, 55, 2, 4},
        {122, "TD3", 3, 55, 2, 4},
        {123, "TD4", 4, 55, 2, 4},
        {124, "TD5", 5, 55, 2, 4},
        {125, "TD6", 6, 55, 2, 4},
        {126, "TD7", 7, 55, 2, 4},
        {127, "TD8", 8, 55, 2, 4},
        {128, "TD9", 9, 55, 2, 4},
        {129, "TD10", 10, 55, 2, 4},
        {130, "TD11", 11, 55, 2, 4},
        {131, "TD12", 12, 55, 2, 4},
        {132, "TD13", 13, 55, 2, 4},
        {133, "TD14", 14, 55, 2, 4},
        {134, "TD15", 15, 55, 2, 4},
        {135, "TD16", 16, 55, 2, 4},
        {136, "TD17", 17, 55, 2, 4},
        {137, "TD18", 18, 55, 2, 4},
        {138, "TD19", 19, 55, 2, 4},
        {139, "TD20", 20, 55, 2, 4},
        {140, "TD21", 21, 55, 2, 4},
        {141, "TD22", 22, 55, 2, 4},
        {142, "TD23", 23, 55, 2, 4},
        {143, "TD24", 24, 55, 2, 4},
        {144, "TD25", 25, 55, 2, 4},
        {145, "TD26", 26, 55, 2, 4},
        {146, "TD27", 27, 55, 2, 4},
        {147, "TD28", 28, 55, 2, 4},
        {148, "TD29", 29, 55, 2, 4},
        {149, "TD30", 30, 55, 2, 4},
        {150, "TD31", 31, 55, 2, 4},
        {151, "TD32", 32, 55, 2, 4},
        {152, "TD33", 33, 55, 2, 4},
        {153, "TD34", 34, 55, 2, 4},
        {154, "TD35", 35, 55, 2, 4},
        {155, "TD36", 36, 55, 2, 4},
        {156, "TD37", 37, 55, 2, 4},
        {157, "TD38", 38, 55, 2, 4},
        {158, "TD39", 39, 55, 2, 4},
        {159, "TD40", 40, 55, 2, 4},
        {160, "TD41", 41, 55, 2, 4},
        {161, "TD42", 42, 55, 2, 4},
        {162, "TD43", 43, 55, 2, 4},
        {163, "TD44", 44, 55, 2, 4},
        {164, "TD45", 45, 55, 2, 4},
        {165, "TD46", 46, 55, 2, 4},
        {166, "TD47", 47, 55, 2, 4},
        {167, "TD48", 48, 55, 2, 4},
        {168, "TD49", 49, 55, 2, 4},
        {169, "TD50", 50, 55, 2, 4},
        {170, "TD51", 51, 55, 2, 4},
        {171, "TD52", 52, 55, 2, 4},
        {172, "TD53", 53, 55, 2, 4},
        {173, "TD54", 54, 55, 2, 4},
        {174, "TD55", 55, 55, 2, 4},
        {175, "TD56", 56, 55, 2, 4},
        {176, "TD57", 57, 55, 2, 4},
        {177, "TD58", 58, 55, 2, 4},
        {178, "TD59", 59, 55, 2, 4},
        {179, "TD60", 60, 55, 2, 4},
        {180, "TD61", 61, 55, 2, 4},
        {181, "TD62", 62, 55, 2, 4},
        {182, "TD63", 63, 55, 2, 4},
        {183, "TCP0", 0, 180, 4, 6},
        {184, "TCP1", 1, 180, 4, 6},
        {185, "TCP2", 2, 180, 4, 6},
        {186, "TCP3", 3, 180, 4, 6},
        {187, "TCP4", 4, 180, 4, 6},
        {188, "TCP5", 5, 180, 4, 6},
        {189, "TCP6", 6, 180, 4, 6},
        {190, "TCP7", 7, 180, 4, 6},
        {191, "TCP8", 8, 180, 4, 6},
        {192, "TCP9", 9, 180, 4, 6},
        {193, "TCP10", 10, 180, 4, 6},
        {194, "TCP11", 11, 180, 4, 6},
        {195, "TCP12", 12, 180, 4, 6},
        {196, "TCP13", 13, 180, 4, 6},
        {197, "TCP14", 14, 180, 4, 6},
        {198, "TCP15", 15, 180, 4, 6},
        {199, "TCP16", 16, 180, 4, 6},
        {200, "TCP17", 17, 180, 4, 6},
        {201, "TCP18", 18, 180, 4, 6},
        {202, "TCP19", 19, 180, 4, 6},
        {203, "TCP20", 20, 180, 4, 6},
        {204, "TCP21", 21, 180, 4, 6},
        {205, "TCP22", 22, 180, 4, 6},
        {206, "TCP23", 23, 180, 4, 6},
        {207, "TCP24", 24, 180, 4, 6},
        {208, "TCP25", 25, 180, 4, 6},
        {209, "TCP26", 26, 180, 4, 6},
        {210, "TCP27", 27, 180, 4, 6},
        {211, "TCP28", 28, 180, 4, 6},
        {212, "TCP29", 29, 180, 4, 6},
        {213, "TCP30", 30, 180, 4, 6},
        {214, "TCP31", 31, 180, 4, 6},
        {215, "TCP32", 32, 180, 4, 6},
        {216, "TCP33", 33, 180, 4, 6},
        {217, "TCP34", 34, 180, 4, 6},
        {218, "TCP35", 35, 180, 4, 6},
        {219, "TCP36", 36, 180, 4, 6},
        {220, "TCP37", 37, 180, 4, 6},
        {221, "TCP38", 38, 180, 4, 6},
        {222, "TCP39", 39, 180, 4, 6},
        {223, "TCP40", 40, 180, 4, 6},
        {224, "TCP41", 41, 180, 4, 6},
        {225, "TCP42", 42, 180, 4, 6},
        {226, "TCP43", 43, 180, 4, 6},
        {227, "TCP44", 44, 180, 4, 6},
        {228, "TCP45", 45, 180, 4, 6},
        {229, "TCP46", 46, 180, 4, 6},
        {230, "TCP47", 47, 180, 4, 6},
        {231, "TCP48", 48, 180, 4, 6},
        {232, "TCP49", 49, 180, 4, 6},
        {233, "TCP50", 50, 180, 4, 6},
        {234, "TCP51", 51, 180, 4, 6},
        {235, "TCP52", 52, 180, 4, 6},
        {236, "TCP53", 53, 180, 4, 6},
        {237, "TCP54", 54, 180, 4, 6},
        {238, "TCP55", 55, 180, 4, 6},
        {239, "TCP56", 56, 180, 4, 6},
        {240, "TCP57", 57, 180, 4, 6},
        {241, "TCP58", 58, 180, 4, 6},
        {242, "TCP59", 59, 180, 4, 6},
        {243, "TCP60", 60, 180, 4, 6},
        {244, "TCP61", 61, 180, 4, 6},
        {245, "TCP62", 62, 180, 4, 6},
        {246, "TCP63", 63, 180, 4, 6},
        {247, "TCC0", 0, 192, 4, 8},
        {248, "TCC1", 1, 192, 4, 8},
        {249, "TCC2", 2, 192, 4, 8},
        {250, "TCC3", 3, 192, 4, 8},
        {251, "TCC4", 4, 192, 4, 8},
        {252, "TCC5", 5, 192, 4, 8},
        {253, "TCC6", 6, 192, 4, 8},
        {254, "TCC7", 7, 192, 4, 8},
        {255, "TCC8", 8, 192, 4, 8},
        {256, "TCC9", 9, 192, 4, 8},
        {257, "TCC10", 10, 192, 4, 8},
        {258, "TCC11", 11, 192, 4, 8},
        {259, "TCC12", 12, 192, 4, 8},
        {260, "TCC13", 13, 192, 4, 8},
        {261, "TCC14", 14, 192, 4, 8},
        {262, "TCC15", 15, 192, 4, 8},
        {263, "TCA0", 0, 35, 4, 8},
        {264, "TCA1", 1, 35, 4, 8},
        {265, "DB0", 0, 257, 4, 6},
        {266, "DB1", 1, 257, 4, 6},
        {267, "DB2", 2, 257, 4, 6},
        {268, "DB3", 3, 257, 4, 6},
        {269, "DB4", 4, 257, 4, 6},
        {270, "DB5", 5, 257, 4, 6},
        {271, "DB6", 6, 257, 4, 6},
        {272, "DB7", 7, 257, 4, 6},
        {273, "DB8", 8, 257, 4, 6},
        {274, "DB9", 9, 257, 4, 6},
        {275, "DB10", 10, 257, 4, 6},
        {276, "DB11", 11, 257, 4, 6},
        {277, "DB12", 12, 257, 4, 6},
        {278, "DB13", 13, 257, 4, 6},
        {279, "DB14", 14, 257, 4, 6},
        {280, "DB15", 15, 257, 4, 6},
        {281, "CB0", 0, 396, 4, 4},
        {282, "CB1", 1, 396, 4, 4},
        {283, "CB2", 2, 396, 4, 4},
        {284, "CB3", 3, 396, 4, 4},
        {285, "CB4", 4, 396, 4, 4},
        {286, "CB5", 5, 396, 4, 4},
        {287, "CB6", 6, 396, 4, 4},
        {288, "CB7", 7, 396, 4, 4},
        {289, "CB8", 8, 396, 4, 4},
        {290, "CB9", 9, 396, 4, 4},
        {291, "CB10", 10, 396, 4, 4},
        {292, "CB11", 11, 396, 4, 4},
        {293, "CB12", 12, 396, 4, 4},
        {294, "CB13", 13, 396, 4, 4},
        {295, "CB14", 14, 396, 4, 4},
        {296, "CB15", 15, 396, 4, 4},
        {297, "GDS", 0, 121, 4, 4},
        {298, "SRBM", 0, 27, 2, 0},
        {299, "GRBM", 0, 34, 2, 0},
        {300, "GRBMSE0", 0, 15, 4, 0},
        {301, "GRBMSE1", 1, 15, 4, 0},
        {302, "GRBMSE2", 2, 15, 4, 0},
        {303, "GRBMSE3", 3, 15, 4, 0},
        {304, "RLC", 0, 7, 2, 0},
        {305, "SDMA0", 0, 62, 2, 0},
        {306, "SDMA1", 1, 62, 2, 0},
        {307, "MC0", 0, 33, 4, 0},
        {308, "MC1", 1, 33, 4, 0},
        {309, "MC2", 2, 33, 4, 0},
        {310, "MC3", 3, 33, 4, 0},
        {311, "MC4", 4, 33, 4, 0},
        {312, "MC5", 5, 33, 4, 0},
        {313, "MC6", 6, 33, 4, 0},
        {314, "MC7", 7, 33, 4, 0},
        {315, "MC8", 8, 33, 4, 0},
        {316, "MC9", 9, 33, 4, 0},
        {317, "MC10", 10, 33, 4, 0},
        {318, "MC11", 11, 33, 4, 0},
        {319, "MC12", 12, 33, 4, 0},
        {320, "MC13", 13, 33, 4, 0},
        {321, "MC14", 14, 33, 4, 0},
        {322, "MC15", 15, 33, 4, 0},
        {323, "MC16", 16, 33, 4, 0},
        {324, "MC17", 17, 33, 4, 0},
        {325, "MC18", 18, 33, 4, 0},
        {326, "MC19", 19, 33, 4, 0},
        {327, "MC20", 20, 33, 4, 0},
        {328, "MC21", 21, 33, 4, 0},
        {329, "MC22", 22, 33, 4, 0},
        {330, "MC23", 23, 33, 4, 0},
        {331, "MC24", 24, 33, 4, 0},
        {332, "MC25", 25, 33, 4, 0},
        {333, "MC26", 26, 33, 4, 0},
        {334, "MC27", 27, 33, 4, 0},
        {335, "MC28", 28, 33, 4, 0},
        {336, "MC29", 29, 33, 4, 0},
        {337, "MC30", 30, 33, 4, 0},
        {338, "MC31", 31, 33, 4, 0},
        {339, "CPG", 0, 48, 2, 4},
        {340, "CPC", 0, 24, 2, 4},
        {341, "WD", 0, 37, 4, 0},
        {342, "GPUTime", 0, 6, 2, 0},
    };

    GPA_CounterGroupExposedCounterDesc hw_dx12_exposed_counters_by_group_gfx8[] = {
        {3, 67, {1, 9, 20, 96, 105, 124}},
        {4, 214, {1, 9, 20, 96, 105, 124}},
        {5, 361, {1, 9, 20, 96, 105, 124}},
        {6, 508, {1, 9, 20, 96, 105, 124}},
        {7, 655, {8, 14, 21, 54, 55, 56, 57, 61, 62, 73, 74, 105, 109}},
        {8, 808, {8, 14, 21, 54, 55, 56, 57, 61, 62, 73, 74, 105, 109}},
        {9, 961, {8, 14, 21, 54, 55, 56, 57, 61, 62, 73, 74, 105, 109}},
        {10, 1114, {8, 14, 21, 54, 55, 56, 57, 61, 62, 73, 74, 105, 109}},
        {11, 1267, {163, 164, 165, 166, 239, 240, 241, 242, 263}},
        {12, 1664, {163, 164, 165, 166, 239, 240, 241, 242, 263}},
        {13, 2061, {163, 164, 165, 166, 239, 240, 241, 242, 263}},
        {14, 2458, {163, 164, 165, 166, 239, 240, 241, 242, 263}},
        {15, 2855, {1, 10, 17, 20, 26, 32, 38, 44, 48, 54, 58, 59, 62, 64, 65, 68, 70, 75}},
        {16, 3052, {1, 10, 17, 20, 26, 32, 38, 44, 48, 54, 58, 59, 62, 64, 65, 68, 70, 75}},
        {17, 3249, {1, 10, 17, 20, 26, 32, 38, 44, 48, 54, 58, 59, 62, 64, 65, 68, 70, 75}},
        {18, 3446, {1, 10, 17, 20, 26, 32, 38, 44, 48, 54, 58, 59, 62, 64, 65, 68, 70, 75}},
        {19, 3643, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {20, 3942, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {21, 4241, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {22, 4540, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {23, 4839, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {24, 5138, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {25, 5437, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {26, 5736, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {27, 6035, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {28, 6334, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {29, 6633, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {30, 6932, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {31, 7231, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {32, 7530, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {33, 7829, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {34, 8128, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {35, 8427, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {36, 8726, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {37, 9025, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {38, 9324, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {39, 9623, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {40, 9922, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {41, 10221, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {42, 10520, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {43, 10819, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {44, 11118, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {45, 11417, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {46, 11716, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {47, 12015, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {48, 12314, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {49, 12613, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {50, 12912, {4, 14, 26, 27, 28, 30, 31, 32, 33, 34, 35, 61, 81, 86, 89, 97}},
        {51, 13211, {12, 14, 17, 19, 22, 24, 27, 29}},
        {52, 13245, {12, 14, 17, 19, 22, 24, 27, 29}},
        {53, 13279, {12, 14, 17, 19, 22, 24, 27, 29}},
        {54, 13313, {12, 14, 17, 19, 22, 24, 27, 29}},
        {55, 13347, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {56, 13466, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {57, 13585, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {58, 13704, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {59, 13823, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {60, 13942, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {61, 14061, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {62, 14180, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {63, 14299, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {64, 14418, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {65, 14537, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {66, 14656, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {67, 14775, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {68, 14894, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {69, 15013, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {70, 15132, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {71, 15251, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {72, 15370, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {73, 15489, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {74, 15608, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {75, 15727, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {76, 15846, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {77, 15965, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {78, 16084, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {79, 16203, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {80, 16322, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {81, 16441, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {82, 16560, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {83, 16679, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {84, 16798, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {85, 16917, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {86, 17036, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {87, 17155, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {88, 17274, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {89, 17393, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {90, 17512, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {91, 17631, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {92, 17750, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {93, 17869, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {94, 17988, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {95, 18107, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {96, 18226, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {97, 18345, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {98, 18464, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {99, 18583, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {100, 18702, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {101, 18821, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {102, 18940, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {103, 19059, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {104, 19178, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {105, 19297, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {106, 19416, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {107, 19535, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {108, 19654, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {109, 19773, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {110, 19892, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {111, 20011, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {112, 20130, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {113, 20249, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {114, 20368, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {115, 20487, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {116, 20606, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {117, 20725, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {118, 20844, {15, 68, 69, 70, 71, 89, 90, 91, 92, 93, 94, 95, 96, 97, 101, 102}},
        {183, 24483, {3}},
        {184, 24663, {3}},
        {185, 24843, {3}},
        {186, 25023, {3}},
        {187, 25203, {3}},
        {188, 25383, {3}},
        {189, 25563, {3}},
        {190, 25743, {3}},
        {191, 25923, {3}},
        {192, 26103, {3}},
        {193, 26283, {3}},
        {194, 26463, {3}},
        {195, 26643, {3}},
        {196, 26823, {3}},
        {197, 27003, {3}},
        {198, 27183, {3}},
        {199, 27363, {3}},
        {200, 27543, {3}},
        {201, 27723, {3}},
        {202, 27903, {3}},
        {203, 28083, {3}},
        {204, 28263, {3}},
        {205, 28443, {3}},
        {206, 28623, {3}},
        {207, 28803, {3}},
        {208, 28983, {3}},
        {209, 29163, {3}},
        {210, 29343, {3}},
        {211, 29523, {3}},
        {212, 29703, {3}},
        {213, 29883, {3}},
        {214, 30063, {3}},
        {215, 30243, {3}},
        {216, 30423, {3}},
        {217, 30603, {3}},
        {218, 30783, {3}},
        {219, 30963, {3}},
        {220, 31143, {3}},
        {221, 31323, {3}},
        {222, 31503, {3}},
        {223, 31683, {3}},
        {224, 31863, {3}},
        {225, 32043, {3}},
        {226, 32223, {3}},
        {227, 32403, {3}},
        {228, 32583, {3}},
        {229, 32763, {3}},
        {230, 32943, {3}},
        {231, 33123, {3}},
        {232, 33303, {3}},
        {233, 33483, {3}},
        {234, 33663, {3}},
        {235, 33843, {3}},
        {236, 34023, {3}},
        {237, 34203, {3}},
        {238, 34383, {3}},
        {239, 34563, {3}},
        {240, 34743, {3}},
        {241, 34923, {3}},
        {242, 35103, {3}},
        {243, 35283, {3}},
        {244, 35463, {3}},
        {245, 35643, {3}},
        {246, 35823, {3}},
        {247, 36003, {18, 19, 26, 28, 35}},
        {248, 36195, {18, 19, 26, 28, 35}},
        {249, 36387, {18, 19, 26, 28, 35}},
        {250, 36579, {18, 19, 26, 28, 35}},
        {251, 36771, {18, 19, 26, 28, 35}},
        {252, 36963, {18, 19, 26, 28, 35}},
        {253, 37155, {18, 19, 26, 28, 35}},
        {254, 37347, {18, 19, 26, 28, 35}},
        {255, 37539, {18, 19, 26, 28, 35}},
        {256, 37731, {18, 19, 26, 28, 35}},
        {257, 37923, {18, 19, 26, 28, 35}},
        {258, 38115, {18, 19, 26, 28, 35}},
        {259, 38307, {18, 19, 26, 28, 35}},
        {260, 38499, {18, 19, 26, 28, 35}},
        {261, 38691, {18, 19, 26, 28, 35}},
        {262, 38883, {18, 19, 26, 28, 35}},
        {265, 39145, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {266, 39402, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {267, 39659, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {268, 39916, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {269, 40173, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {270, 40430, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {271, 40687, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {272, 40944, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {273, 41201, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {274, 41458, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {275, 41715, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {276, 41972, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {277, 42229, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {278, 42486, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {279, 42743, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {280, 43000, {4, 15, 28, 46, 48, 55, 60, 63, 144, 174, 175, 176, 177, 178, 179}},
        {281, 43257, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {282, 43653, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {283, 44049, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {284, 44445, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {285, 44841, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {286, 45237, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {287, 45633, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {288, 46029, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {289, 46425, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {290, 46821, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {291, 47217, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {292, 47613, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {293, 48009, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {294, 48405, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {295, 48801, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {296, 49197, {7, 116, 117, 118, 118, 126, 127, 128, 162, 257, 259}},
        {299, 49741, {0, 2}},
        {342, 51131, {0, 1, 2, 3, 4, 5}},
    };

    GPA_PaddedCounterDesc dx12_padded_counter_by_group_gfx8[] = {
    {}
    };

    GPA_SQCounterGroupDesc hw_dx12_sq_groups_gfx8[] = {
        {19, 0, SQ_ALL},
        {20, 1, SQ_ALL},
        {21, 2, SQ_ALL},
        {22, 3, SQ_ALL},
        {23, 0, SQ_ES},
        {24, 1, SQ_ES},
        {25, 2, SQ_ES},
        {26, 3, SQ_ES},
        {27, 0, SQ_GS},
        {28, 1, SQ_GS},
        {29, 2, SQ_GS},
        {30, 3, SQ_GS},
        {31, 0, SQ_VS},
        {32, 1, SQ_VS},
        {33, 2, SQ_VS},
        {34, 3, SQ_VS},
        {35, 0, SQ_PS},
        {36, 1, SQ_PS},
        {37, 2, SQ_PS},
        {38, 3, SQ_PS},
        {39, 0, SQ_LS},
        {40, 1, SQ_LS},
        {41, 2, SQ_LS},
        {42, 3, SQ_LS},
        {43, 0, SQ_HS},
        {44, 1, SQ_HS},
        {45, 2, SQ_HS},
        {46, 3, SQ_HS},
        {47, 0, SQ_CS},
        {48, 1, SQ_CS},
        {49, 2, SQ_CS},
        {50, 3, SQ_CS},
    };


    unsigned int hw_dx12_sq_isolated_groups_gfx8[] = {
        55, // Ta
        56, // Ta
        57, // Ta
        58, // Ta
        59, // Ta
        60, // Ta
        61, // Ta
        62, // Ta
        63, // Ta
        64, // Ta
        65, // Ta
        66, // Ta
        67, // Ta
        68, // Ta
        69, // Ta
        70, // Ta
        71, // Ta
        72, // Ta
        73, // Ta
        74, // Ta
        75, // Ta
        76, // Ta
        77, // Ta
        78, // Ta
        79, // Ta
        80, // Ta
        81, // Ta
        82, // Ta
        83, // Ta
        84, // Ta
        85, // Ta
        86, // Ta
        87, // Ta
        88, // Ta
        89, // Ta
        90, // Ta
        91, // Ta
        92, // Ta
        93, // Ta
        94, // Ta
        95, // Ta
        96, // Ta
        97, // Ta
        98, // Ta
        99, // Ta
        100, // Ta
        101, // Ta
        102, // Ta
        103, // Ta
        104, // Ta
        105, // Ta
        106, // Ta
        107, // Ta
        108, // Ta
        109, // Ta
        110, // Ta
        111, // Ta
        112, // Ta
        113, // Ta
        114, // Ta
        115, // Ta
        116, // Ta
        117, // Ta
        118, // Ta
        119, // Td
        120, // Td
        121, // Td
        122, // Td
        123, // Td
        124, // Td
        125, // Td
        126, // Td
        127, // Td
        128, // Td
        129, // Td
        130, // Td
        131, // Td
        132, // Td
        133, // Td
        134, // Td
        135, // Td
        136, // Td
        137, // Td
        138, // Td
        139, // Td
        140, // Td
        141, // Td
        142, // Td
        143, // Td
        144, // Td
        145, // Td
        146, // Td
        147, // Td
        148, // Td
        149, // Td
        150, // Td
        151, // Td
        152, // Td
        153, // Td
        154, // Td
        155, // Td
        156, // Td
        157, // Td
        158, // Td
        159, // Td
        160, // Td
        161, // Td
        162, // Td
        163, // Td
        164, // Td
        165, // Td
        166, // Td
        167, // Td
        168, // Td
        169, // Td
        170, // Td
        171, // Td
        172, // Td
        173, // Td
        174, // Td
        175, // Td
        176, // Td
        177, // Td
        178, // Td
        179, // Td
        180, // Td
        181, // Td
        182, // Td
        183, // Tcp
        184, // Tcp
        185, // Tcp
        186, // Tcp
        187, // Tcp
        188, // Tcp
        189, // Tcp
        190, // Tcp
        191, // Tcp
        192, // Tcp
        193, // Tcp
        194, // Tcp
        195, // Tcp
        196, // Tcp
        197, // Tcp
        198, // Tcp
        199, // Tcp
        200, // Tcp
        201, // Tcp
        202, // Tcp
        203, // Tcp
        204, // Tcp
        205, // Tcp
        206, // Tcp
        207, // Tcp
        208, // Tcp
        209, // Tcp
        210, // Tcp
        211, // Tcp
        212, // Tcp
        213, // Tcp
        214, // Tcp
        215, // Tcp
        216, // Tcp
        217, // Tcp
        218, // Tcp
        219, // Tcp
        220, // Tcp
        221, // Tcp
        222, // Tcp
        223, // Tcp
        224, // Tcp
        225, // Tcp
        226, // Tcp
        227, // Tcp
        228, // Tcp
        229, // Tcp
        230, // Tcp
        231, // Tcp
        232, // Tcp
        233, // Tcp
        234, // Tcp
        235, // Tcp
        236, // Tcp
        237, // Tcp
        238, // Tcp
        239, // Tcp
        240, // Tcp
        241, // Tcp
        242, // Tcp
        243, // Tcp
        244, // Tcp
        245, // Tcp
        246, // Tcp
        247, // Tcc
        248, // Tcc
        249, // Tcc
        250, // Tcc
        251, // Tcc
        252, // Tcc
        253, // Tcc
        254, // Tcc
        255, // Tcc
        256, // Tcc
        257, // Tcc
        258, // Tcc
        259, // Tcc
        260, // Tcc
        261, // Tcc
        262, // Tcc
        263, // Tca
        264, // Tca
    };

    AmdExtGpuBlock hw_dx12_driver_enum_gfx8[] = {
    AmdExtGpuBlock::Cpf,
    AmdExtGpuBlock::Ia,
    AmdExtGpuBlock::Ia,
    AmdExtGpuBlock::Vgt,
    AmdExtGpuBlock::Vgt,
    AmdExtGpuBlock::Vgt,
    AmdExtGpuBlock::Vgt,
    AmdExtGpuBlock::Pa,
    AmdExtGpuBlock::Pa,
    AmdExtGpuBlock::Pa,
    AmdExtGpuBlock::Pa,
    AmdExtGpuBlock::Sc,
    AmdExtGpuBlock::Sc,
    AmdExtGpuBlock::Sc,
    AmdExtGpuBlock::Sc,
    AmdExtGpuBlock::Spi,
    AmdExtGpuBlock::Spi,
    AmdExtGpuBlock::Spi,
    AmdExtGpuBlock::Spi,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sq,
    AmdExtGpuBlock::Sx,
    AmdExtGpuBlock::Sx,
    AmdExtGpuBlock::Sx,
    AmdExtGpuBlock::Sx,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Ta,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Td,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcp,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tcc,
    AmdExtGpuBlock::Tca,
    AmdExtGpuBlock::Tca,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Db,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Cb,
    AmdExtGpuBlock::Gds,
    AmdExtGpuBlock::Srbm,
    AmdExtGpuBlock::Grbm,
    AmdExtGpuBlock::GrbmSe,
    AmdExtGpuBlock::GrbmSe,
    AmdExtGpuBlock::GrbmSe,
    AmdExtGpuBlock::GrbmSe,
    AmdExtGpuBlock::Rlc,
    AmdExtGpuBlock::Dma,
    AmdExtGpuBlock::Dma,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Mc,
    AmdExtGpuBlock::Cpg,
    AmdExtGpuBlock::Cpc,
    AmdExtGpuBlock::Wd,
    AmdExtGpuBlock::Count,
    };

    const unsigned int hw_dx12_gputimebottomtobottomduration_index_gfx8 = 51131; ///< Index of delta between the previous command reaching bottom of pipe and the current command reaching bottom of pipe, will not include latency of first data to travel through pipeline, best for large data sets. for dx12 for gfx8 family
    const unsigned int hw_dx12_gputimebottomtobottomstart_index_gfx8 = 51132; ///< Index of time of the previous command reaching bottom of pipe for dx12 for gfx8 family
    const unsigned int hw_dx12_gputimebottomtobottomend_index_gfx8 = 51133; ///< Index of time of the current command reaching bottom of pipe for dx12 for gfx8 family
    const unsigned int hw_dx12_gputimetoptobottomduration_index_gfx8 = 51134; ///< Index of execution duration of the current command from top of pipe to bottom of pipe, may include overhead of time in queue for dx12 for gfx8 family
    const unsigned int hw_dx12_gputimetoptobottomstart_index_gfx8 = 51135; ///< Index of time that the current command reaches the top of pipe for dx12 for gfx8 family
    const unsigned int hw_dx12_gputimetoptobottomend_index_gfx8 = 51136; ///< Index of time that the current command reaches the bottom of pipe for dx12 for gfx8 family
    const std::set<unsigned int> hw_dx12_timestamp_block_ids_gfx8 =       {342}; ///< Timestamp block id's for DX12 for gfx8 family
    const std::set<unsigned int> hw_dx12_time_counter_indices_gfx8 =      {51131, 51132, 51133, 51134, 51135, 51136}; ///< Timestamp counter indices for DX12 for gfx8 family
    const unsigned int           hw_dx12_group_count_gfx8                = sizeof(hw_dx12_groups_gfx8) / sizeof(GPA_CounterGroupDesc);
    const unsigned int           hw_dx12_exposed_counters_group_count_gfx8 = 230;
    const unsigned int           dx12_padded_counter_group_count_gfx8 = 0;
    const unsigned int           hw_dx12_sq_group_count_gfx8              = sizeof(hw_dx12_sq_groups_gfx8) / sizeof(GPA_SQCounterGroupDesc);
    const unsigned int           hw_dx12_sq_isolated_group_count_gfx8      = sizeof(hw_dx12_sq_isolated_groups_gfx8) / sizeof(unsigned int);
}; // namespace
